package com.zdw.demo.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zdw.demo.entity.WechatOrder;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * Mapper接口 : 用于与数据库进行实际交互。
 * 注意！！！Mapper这里不是一个类，而是一个接口。
 */
@Mapper
public interface WechatOrderMapper extends BaseMapper<WechatOrder> {

    @Update("""
            update wechat_order o
            set 
                o.trade_state = 'CLOSED'
                ,o.trade_state_desc='订单已关闭'
            where o.out_trade_no = #{outTradeNo}
            """)
    int closeByOutTradeNo(String outTradeNo);

    int updateByOutTradeNo(@Param("order") WechatOrder order);

    int updateInfo(@Param("order") WechatOrder order);

    int batchUpdateByOutTradeNo(@Param("list") List<WechatOrder> orderList);

}
